package com.hy.frame.common;

import androidx.annotation.Nullable;

/**
 * Activity Cache
 */
public interface IActivityCache {
    /**
     * 添加Activity到容器中
     */
    void add(android.app.Activity activity);

    /**
     * remove activity栈
     */
    void remove(android.app.Activity activity);

    void removeWithClass(Class<?> cls);

    /**
     * 清理activity栈
     * finish and remove
     *
     * @param activity 忽略项,可以为空
     */
    void clear(@Nullable android.app.Activity activity);

    void clearWithClass(Class<?> cls);

    /**
     * activity栈数量
     */
    int actSize();

    /**
     * 获取activity
     *
     * @param index 位置
     */
    @Nullable
    android.app.Activity getAct(int index);

    /**
     * 获取当前activity
     */
    @Nullable
    android.app.Activity curAct();

    /**
     * finish当前activity
     */
    void finish();

    /**
     * 退出
     */
    void exit();
}